package ig.metrica.ui.formatos;

import ig.metrica.origenesdedatos.*;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.swing.JOptionPane;

import ig.metrica.ui.PantallaBusquedaSevinproPanel;
import ig.metrica.ui.WizzardSevinproPanel;
import ig.util.ConexionServer;
import ig.util.ejb.IGBean;
import ig.util.ejb.IGLlaveInt;
import java.util.*;

public class PantallaBusquedaFormatos extends PantallaBusquedaSevinproPanel {

    private PanelDatosBasicosBusqueda panel;
    private String[] titulos;
    private ArrayList datos;

    public PantallaBusquedaFormatos(PanelDatosBasicosBusqueda panel, WizzardSevinproPanel wizzard) {
        super(panel, wizzard, new ModeloTablaResultadoBusquedaFormatos(new String[]{"Codigo", "Nombre"}, new ArrayList()));
        this.panel = panel;
        this.datos = new ArrayList();
        ((ModeloTablaResultadoBusquedaFormatos) tabla.getModel()).setDatos(datos);
    }

    protected void accionBuscar() {

        datos = new ArrayList();

        /*Properties prop = new Properties();
        prop.put(Context.INITIAL_CONTEXT_FACTORY, IGBean.INITIAL_CONTEXT_FACTORY);

        String Sockec = new ConexionServer().getSocketServer();
        prop.put(Context.PROVIDER_URL, Sockec);*/

        try {
            //InitialContext ctx = new InitialContext(prop);
            //JOptionPane.showMessageDialog(null,Sockec);

            //FormatoHome home = (FormatoHome) ctx.lookup("ig.metrica.origenesdedatos.Formato");
            //Collection resultado = home.findByPropiedades(panel.getNombre());
            
            
            List resultado = new FormatoBean().ejbFindByPropiedades(panel.getNombre());

            Iterator i = resultado.iterator();

            //String a=new String(null);

            while (i.hasNext()) {
                FormatoBean conexion = (FormatoBean) i.next();
                Object[] registro = new Object[2];
                registro[0] = new Long(conexion.getCodigo());
                if (conexion.getNombre() != null) {
                    registro[1] = new String(conexion.getNombre());
                }
                datos.add(registro);
            }
        } catch (Exception e) {
            //JOptionPane.showInternalMessageDialog( this,"Error: \n"+e.toString() );
            JOptionPane.showMessageDialog(this, "Error:" + e.toString(), "Mensaje", JOptionPane.OK_CANCEL_OPTION);

        }

        ((ModeloTablaResultadoBusquedaFormatos) tabla.getModel()).setDatos(datos);
        //((AbstractTableModel)tabla.getModel()).fireTableDataChanged();

    }
}
